/*
 * Copyright: 2018 smarabbit studio.
 *
 * Licensed under the Confluent Community License; you may not use this file
 * except in compliance with the License.  You may obtain a copy of the License at
 *
 * http://www.confluent.io/confluent-community-license
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OF ANY KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations under the License.
 *
 * @作   者： 黄开晖 (117227773@qq.com)
 * @日   期:  2019年2月24日
 */
package com.massyframework.beanskin.runtime.service.metadata;

import java.util.Objects;

import com.massyframework.beanskin.service.metadata.Metadata;

/**
 * 元数据基础类
 *
 */
abstract class MetadataBase<T> implements Metadata<T> {

	private T original;
	
	/**
	 * 构造方法
	 * @param original 原始对象
	 */
	public MetadataBase(T original) {
		this.original = Objects.requireNonNull(original, "\"original\" cannot be null.");
	}

	/* (non-Javadoc)
	 * @see com.massyframework.metadata.Metadata#getOriginal()
	 */
	@Override
	public T getOriginal() {
		return this.original;
	}

}
